PIXI.utils 提供了一些好用的方法
也許不夠完整,但簡單的方法若可直接使用
就不用另外實作或引用自別的類別
PIXI.utils.hex2rgb(0xffffff); // returns [1, 1, 1]
PIXI.utils.hex2string(0xffffff); // returns "#ffffff"
PIXI.utils.rgb2hex([1, 1, 1]); // returns 0xffffff
PIXI.utils.string2hex("#ffffff"); // returns 0xffffff
在 字串、十六進位顏色、RGB陣列 間轉換滿方便的,但沒有 HSL模式 等轉換
顯示目前 PixiJS 版本、運作模式等資訊
若不想在 console 看到這串訊息,在 new PIXI.Application() 前執行 PIXI.utils.skipHello(); 即可
可直接取得與操作 TextureCache / BaseTextureCache,相關討論與使用在先前文章裡
實際上還有個 ProgramCache,屬於 WebGL 實際使用的部分,目前不討論
先前鐵人賽中有提到匯出畫面與可能的問題
目前版本的範例中有這個功能:
截圖結果: 輸出 app.stage 範圍,而 非整個 <canvas>
// Note that we can do this with any container. Instead of 'app.stage', which
// contains everything, try the 'bunnyContainer' instead.
function takeScreenshot() {
wait = true;
app.renderer.extract.canvas(app.stage).toBlob((b) => {
const a = document.createElement('a');
document.body.append(a);
a.download = 'screenshot';
a.href = URL.createObjectURL(b);
a.click();
a.remove();
}, 'image/png');
}
用法與上次文章的結論相同,
但先前提到這個功能時,官方範例裡沒有這個實作
這不是 Pixi.utils 相關功能,但因為不是很大篇的事情
與 Pixi.utils 說明放在同一篇裡